// 引入路由模块
import router from './router'
import store from './store'
// 全局前置导航守卫
router.beforeEach(async(to, from, next) => {
  const token = store.getters.token
  const url = to.path
  const whiteList = ['/login', '/404', '/test']
  if (token) {
    //   有登录
    if (url === '/login') {
      next('/')
    } else {
      // 在进入每个后台页面之前, 保证有用户数据
      // 确认用户数据是否存在, 如果不存在, 则获取数据
      if (!store.state.user.userInfo.username) {
        // store.dispatch('user/getUserInfo')
        await store.dispatch('user/getUserInfo')
      }
      next()
    }
  } else {
    // 未登录
    // 判断url 是否存在于白名单
    // if (whiteList.indexOf(url) !== -1) {
    if (whiteList.includes(url)) {
      next()
    } else {
      next('/login')
    }
  }
})
